﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using AcademiaEntidades;

namespace AcademiaDAO
{
    public class TipoExamenDAO
    {
        public static List<TipoExamen> obtenerTodosTipoExamen()
        {
            List<TipoExamen> listaTipoExamen = new List<TipoExamen>();
            SqlConnection cn = null;
            try
            {
                cn = AccesoDato.dameConexion();
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = @"select top 1000 * from TipoExamen";
                cmd.Connection = cn;
                cmd.CommandText = sql;
                SqlDataReader dr = cmd.ExecuteReader();

                TipoExamen tipoExamen = null;
                while (dr.Read())
                {
                    tipoExamen = new TipoExamen();
                    tipoExamen.IdTipoExamen = int.Parse(dr["IdTipoExamen"].ToString());
                    tipoExamen.Descripcion = dr["Descripcion"].ToString();
                    listaTipoExamen.Add(tipoExamen);
                    tipoExamen = null;
                }
                dr.Close();

            }
            catch (Exception ex)
            {
                throw new Exception("No se pudieron obtener los Tipos de Examens...");
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
            return listaTipoExamen;
        }//Fin del metodo obtenerTodosTipoExamen
        public static TipoExamen obtenerPorIdTipoExamen(int id)
        {
            TipoExamen tipoExamen = new TipoExamen();
            SqlConnection cn = null;
            try
            {
                cn = AccesoDato.dameConexion();
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                string sql = @"select * from TipoExamen where IdTipoExamen = @IdTipoExamen";
                cmd.Parameters.AddWithValue("@IdTipoExamen", id);
                cmd.Connection = cn;
                cmd.CommandText = sql;
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    tipoExamen.IdTipoExamen = id;
                    tipoExamen.Descripcion = dr["Descripcion"].ToString();
                }
                dr.Close();
            }
            catch (Exception ex)
            {
                throw new Exception("No se pudo obtener el tipo de examen...");
            }
            finally
            {
                if (cn.State == ConnectionState.Open)
                    cn.Close();
            }
            return tipoExamen;
        }//Fin del metodo obtenerPorIdTipoExamen
    }//Fin de la Clase
}//Fin del namespace
